#ifndef BigIntPtr_H
	#include <iostream>
	#include <string>
	#include <vector>
	#include <algorithm>
	#include "bigint.h"
	
	#define PtrCounter_H
		class PtrCounter
		{
		private:
			BigInt * ptr;
			int qty;
			PtrCounter(BigInt * num);
		public:
			~PtrCounter();
			
			friend BigIntPtr::BigIntPtr(BigInt * num);
			friend BigIntPtr::~BigIntPtr();
		};

		class BigIntPtr
		{		
		private:
			PtrCounter * counter;
		public:
			explicit BigIntPtr(BigInt * num);
			~BigIntPtr();
			BigInt * operator ->() const;
			BigInt & operator *() const;
		};

#endif